package org.loong.crypto.extension.cms;

import org.bouncycastle.asn1.ASN1ObjectIdentifier;

public interface GMCMSObjectIdentifiers {

    /**
     * SM2密码算法加密签名消息语法规范.
     */
    ASN1ObjectIdentifier sm2_scheme = new ASN1ObjectIdentifier("1.2.156.10197.6.1.4.2");

    /**
     * 数据类型.
     */
    ASN1ObjectIdentifier data = sm2_scheme.branch("1");

    /**
     * 签名数据类型.
     */
    ASN1ObjectIdentifier signedData = sm2_scheme.branch("2");

    /**
     * 数字信封数据类型.
     */
    ASN1ObjectIdentifier envelopedData = sm2_scheme.branch("3");

    /**
     * 签名及数字信封数据类型.
     */
    ASN1ObjectIdentifier signedAndEnvelopedData = sm2_scheme.branch("4");

    /**
     * 加密数据类型.
     */
    ASN1ObjectIdentifier encryptedData = sm2_scheme.branch("5");

    /**
     * 密钥协商类型.
     */
    ASN1ObjectIdentifier keyAgreementInfo = sm2_scheme.branch("6");
}
